import request from '@/utils/request'
import { SET_ARTICLE } from '@/store/actionType'

// 获取文章信息
// status 否 文章状态，0-草稿，1-待审核，2-审核通过，3-审核失败，不传为全部
// channel_id 是 不传为全部
// begin_pubdate 否 起始时间
// end_pubdate 否 截止时间
// page 否 页码 默认为1页
// per_page 否 每页数量 不传为默认10
export function getArticle (params = {}) {
  console.log('查询文章参数', params)
  return async dispatch => {
    // 发请求 获取文章信息.....
    // axios中，如果值为null，请求发出去时，不会带这个参数
    const res = await request.get('mp/articles', {
      params: {
        status: params.status,
        channel_id: params.channel_id,
        begin_pubdate: params.begin_pubdate,
        end_pubdate: params.end_pubdate,
        page: params.page, // 查询第几页
        per_page: 3
      }
    })

    console.log('发请求 获取文章信息', res)

    // 保存到redux
    dispatch({
      type: SET_ARTICLE,
      payload: res.data
    })
  }
}

/**
 * 删除文章
 * @param {string} id 文章编号
 */
export function delArticle (id) {
  return async dispatch => {
    const res = await request.delete('mp/articles/' + id)

    console.log('删除文章', res)
  }
}

/**
 * 添加文章
 * @param {*} data
 * @param {*} isDraft 是否草稿
 */
export function saveArticle (data, isDraft) {
  return async dispatch => {
    // 添加文章.....

    await request.post('mp/articles?draft=' + isDraft, data)
  }
}

export function editArticle (data, isDraft, id) {
  return async dispatch => {
    // 编辑文章.....

    await request.put('mp/articles/' + id + '?draft=' + isDraft, data)
  }
}

/**
 * 获取文章的详情
 * @param {*} id 文章的id
 * @returns
 */
export function getArticleDetail (id) {
  return async dispatch => {
    const res = await request.get('mp/articles/' + id)
    console.log('发请求 获取文章信息', res)
    return res
  }
}
